---
sidebar_position: 5
sidebar_label: Operations
title: 'Cloud: Operations'
description: Hasura Cloud operation analysis
keywords:
  - hasura
  - docs
  - cloud
  - operations
---

import Thumbnail from '@site/src/components/Thumbnail';
import HeadingIcon from '@site/src/components/HeadingIcon';
import ProductBadge from '@site/src/components/ProductBadge';

# Operations

<ProductBadge pro ee />

## Introduction

The Operations tab will present a processed real-time log of all requests to the GraphQL Engine. Here you can also
inspect individual operations.

<Thumbnail src="/img/observability/operations_overview_2.16.0.png" alt="Hasura Cloud Console list operations" />

<Thumbnail src="/img/observability/pro-tab-operations-inspect.png" alt="Hasura Cloud Console inspect operation" />

## Capture query variables

At the top of the `Monitoring > Operations` page in the Console, you can select whether to turn on "Capture query
variables" which is disabled by default.

<Thumbnail
  src="/img/observability/operations_enable-extra-features_2.16.0.png"
  alt="Hasura Cloud Console enable extra Operations features"
  width={'600px'}
/>

When "Capture query variables" is enabled, you are able to inspect the query variables provided for each request.

<Thumbnail
  src="/img/observability/operations_capture-query-variables_2.16.0.png"
  alt="Hasura Cloud Console Operations capture query variables"
/>

## Terminology

**Operation**  
Any GraphQL (query, mutation, subscription) request made to v1/graphql endpoint of a GraphQL Engine instance

**Operation name**  
(Optional) Any GraphQL request can be labelled with a name by the client making the query. In this example,
_getPollOptions_ is the operation name:

```graphql
query getPollOptions (
  poll {
    options {
      id
      name
      description
    }
  }
}
```

**Operation ID**  
A unique, auto-generated hash for each Operation name; can distinguish between different operations executed with the
same name

**Operation type**  
Whether the operation is a query, mutation, or subscription

**Request ID**  
A unique, auto-generated ID for each request, comes from x-request-id HTTP header

**Websocket ID**  
A unique ID generated by the server when a websocket connection is established by the client

**Websocket Operation ID**  
A unique ID generated by the websocket client for each operation it is sending to the server

## Filtering operations

Click on the **Filter** header to open the menu of filter options

| Filter option            | Filter type              | Example or options                                                     |
| ------------------------ | ------------------------ | ---------------------------------------------------------------------- |
| Time range               | timestamps               | last hour, last 6 hours, last 12 hours, last 24 hours, or custom range |
| Operation ID             | string (text field)      | 5284946f4e15aa81bc868316d56aa68f                                       |
| Operation Name           | string (text field)      | getPollOptions                                                         |
| Request ID               | string (text field)      | e15f7bj9-3b9f-4152-92a4-e745471514af                                   |
| Show only errors         | boolean (checkbox field) | true or false (default false)                                          |
| Websocket ID             | string (text field)      | def703fc-851f-48e8-8e5c-cbdead37b2fe                                   |
| Websocket Operation ID   | string (text field)      | 110                                                                    |
| Hide introspection query | boolean (checkbox field) | true or false (default false)                                          |
| Operation Type           | enum (select field)      | query, mutation, subscription, all                                     |
| Role                     | enum (select field)      | from _x-hasura-user-role_: no role, admin, user, ...                   |
| Error Code               | enum (select field)      | no error code, access-denied, depth-limit-exceeded, ...                |
| Client Name              | enum (select field)      | no client name, hasura-console, hasura-test-runner, ...                |
| Transport                | enum (select field)      | http or ws                                                             |
| Status                   | enum (select field)      | started or closed                                                      |

## Sorting operations

Each column in the **Operations List** can be sorted (ascending or descending) just by clicking on it. Very useful for
identifying operations with unusually high execution time or response size!
